From 969279b54e3d8d5d6583f99b95a09184cc82bb44 Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Mon, 21 Jan 2002 23:30:17 +0000 Subject: [PATCH] Update top_row. Remove extraneous print statements. Mon Jan 21 18:28:17 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update top_row. Remove extraneous print statements. --- ChangeLog | 5 +++++ ChangeLog.pre-2-0 | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtktreeprivate.h | 2 ++ gtk/gtktreeview.c | 23 ++++++++++++++++++++++- gtk/gtktreeviewcolumn.c | 10 ---------- 10 files changed, 59 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73cc454787..630283ff9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jan 21 18:28:17 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update + top_row. Remove extraneous print statements. + 2002-01-21 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_popup, diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 73cc454787..630283ff9c 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Mon Jan 21 18:28:17 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update + top_row. Remove extraneous print statements. + 2002-01-21 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_popup, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 73cc454787..630283ff9c 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Mon Jan 21 18:28:17 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update + top_row. Remove extraneous print statements. + 2002-01-21 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_popup, diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 73cc454787..630283ff9c 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Mon Jan 21 18:28:17 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update + top_row. Remove extraneous print statements. + 2002-01-21 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_popup, diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 73cc454787..630283ff9c 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Mon Jan 21 18:28:17 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update + top_row. Remove extraneous print statements. + 2002-01-21 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_popup, diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 73cc454787..630283ff9c 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Mon Jan 21 18:28:17 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update + top_row. Remove extraneous print statements. + 2002-01-21 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_popup, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 73cc454787..630283ff9c 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Mon Jan 21 18:28:17 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update + top_row. Remove extraneous print statements. + 2002-01-21 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_popup, diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 66b9085093..19ca7f33a8 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -104,6 +104,8 @@ struct _GtkTreeViewPrivate /* bin_window offset */ GtkTreeRowReference *top_row; gint top_row_dy; + /* dy == y pos of top_row + top_row_dy */ + /* we cache it for simplicity of the code */ gint dy; gint drag_column_x; diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 47c132690c..6cbc0ee158 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -1082,6 +1082,11 @@ gtk_tree_view_destroy (GtkObject *object) tree_view->priv->drag_dest_row = NULL; } + if (tree_view->priv->top_row != NULL) + { + gtk_tree_row_reference_free (tree_view->priv->top_row); + tree_view->priv->top_row = NULL; + } if (tree_view->priv->column_drop_func_data && tree_view->priv->column_drop_func_data_destroy) @@ -3197,6 +3202,8 @@ validate_visible_area (GtkTreeView *tree_view) gint y, height, offset; gboolean validated_area = FALSE; gboolean size_changed = FALSE; + gint height_above; + gint height_below; if (tree_view->priv->tree == NULL) return; @@ -5756,7 +5763,6 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, gint x, y, width, height; g_return_if_fail (tree_view->priv->column_drag_info == NULL); - g_print ("start drag!\n"); gtk_tree_view_set_column_drag_info (tree_view, column); @@ -6504,6 +6510,10 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment, if (GTK_WIDGET_REALIZED (tree_view)) { gint dy; + GtkTreePath *path; + GtkRBTree *tree; + GtkRBNode *node; + gdk_window_move (tree_view->priv->bin_window, - tree_view->priv->hadjustment->value, TREE_VIEW_HEADER_HEIGHT (tree_view)); @@ -6512,7 +6522,18 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment, 0); dy = tree_view->priv->dy - (int) tree_view->priv->vadjustment->value; gdk_window_scroll (tree_view->priv->bin_window, 0, dy); + + /* update our dy and top_row */ tree_view->priv->dy = (int) tree_view->priv->vadjustment->value; + tree_view->priv->top_row_dy = _gtk_rbtree_find_offset (tree_view->priv->tree, + tree_view->priv->dy, + &tree, &node); + g_return_if_fail (tree != NULL); + + path = _gtk_tree_view_find_path (tree_view, tree, node); + gtk_tree_row_reference_free (tree_view->priv->top_row); + tree_view->priv->top_row = gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view), tree_view->priv->model, path); + gtk_tree_path_free (path); gdk_window_process_updates (tree_view->priv->bin_window, TRUE); gdk_window_process_updates (tree_view->priv->header_window, TRUE); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 75b743a341..03e4030c24 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -738,12 +738,9 @@ gtk_tree_view_column_button_event (GtkWidget *widget, g_return_val_if_fail (event != NULL, FALSE); - g_print ("event->type: %d\ncolumn->reorderable: %d\n", event->type, column->reorderable); - if (event->type == GDK_BUTTON_PRESS && column->reorderable) { - g_print ("setting maybe_reordered\n"); column->maybe_reordered = TRUE; gdk_window_get_pointer (widget->window, &column->drag_x, @@ -756,13 +753,6 @@ gtk_tree_view_column_button_event (GtkWidget *widget, column->maybe_reordered) column->maybe_reordered = FALSE; - - if (event->type == GDK_MOTION_NOTIFY && - (column->maybe_reordered)) - { - g_print ("motion:\n"); - } - if (event->type == GDK_MOTION_NOTIFY && (column->maybe_reordered) && (gtk_drag_check_threshold (widget, -- 2.30.2